Widely-used modern computer systems are multitasking systems, which means that they can execute several applications and processes in parallel. This parallel execution paradigm can be realized via context switching on a processor as well as simultaneous execution on computer systems that have simultaneous-multithreading processors or multiprocessors. This feature of executing several processes in parallel brings the problem of balancing the load of the system, which is currently handled by the operating systems (OS). Operating systems, including ones with time-slice multiplexing kernels, use scheduling algorithms to determine which threads or processes need to be executed at a given time. Since a computer system has limited resources in terms of processing power, only a certain amount of processes can actively execute at a certain time, and the kernel must have the ability to temporarily suspend the execution of a process to allow the execution of another.
A platform developer or vendor will often provide a set of functions and data structures that implement an API (Application Programming Interface) to manage the collection of and access to the data that is functionally equivalent to a state vector. The mathematical state vector is a vector of values that represent physically important parameters describing a system with regard to the control systems' goals and capabilities. The need to coordinate operations of multiple processes and applications often results in significant OS jitter. OS jitter represents undesirable variation in the latency of operating system kernel operations that should otherwise be determinative and predictable, particularly where real-time response is desired. Thus, any timing jitter is highly undesirable to a state vector implementation. While known jitter can be compensated somewhat by (usually expensive) computation, unknown jitter simply leads to errors.